package top.melody.ecommerce.platform.api.domain.order;
import java.io.Serializable;
import top.melody.ecommerce.common.util.reflect.ReflectUtil;

import java.math.BigDecimal;
import java.util.Date;


/**
 * @author: melody
 * @groupId:rd
 * @createdate:2016-10-18
 * @mail: blentle.huan.ren@gmail.com
 * @description:
 * @since: 1.0
 */
public class OrderInfo implements Serializable {
	
     /* 系统根据算法生成 */ 
	private String	orderId;
     /* 下单人账号 */ 
	private Integer	accountId;
     /* 下单人姓名 */ 
	private String	accountName;
     /* 手机号 */ 
	private String	mobilePhone;
     /* 所有商品总价格 */ 
	private BigDecimal totalGoodsFee;
     /* 邮费 */ 
	private BigDecimal	postFee;
     /* 优惠金额 */ 
	private BigDecimal	saleFee;
     /* 订单总价格 */ 
	private BigDecimal	orderFee;
     /* 订单状态 */ 
	private String	orderStatus;
     /* 支付状态 */ 
	private String	payStatus;
     /* 发货状态 */ 
	private String	deliveryStatus;
     /* 下单时间 */ 
	private Date	orderDate;
    
	private Date	shipDate;
    
	private String	invoiceFlag;
    
	private String	invoiceTitle;
     /* 有效：VALID;无效:INVALID */ 
	private String	validStatus;
     /* 已删除：Y;未删除：N */ 
	private String	removeStatus;
     /* 创建时间 */ 
	private Date	createDate;
     /* 最近更新时间 */ 
	private Date	updateDate;

	public OrderInfo() {

	}

	public OrderInfo(String orderId, Integer accountId, String accountName, String mobilePhone, BigDecimal totalGoodsFee, BigDecimal postFee, BigDecimal saleFee, BigDecimal orderFee, String orderStatus, String payStatus, String deliveryStatus, Date orderDate, Date shipDate, String invoiceFlag, String invoiceTitle, String validStatus, String removeStatus, Date createDate, Date updateDate) {
		this.orderId = orderId;
		this.accountId = accountId;
		this.accountName = accountName;
		this.mobilePhone = mobilePhone;
		this.totalGoodsFee = totalGoodsFee;
		this.postFee = postFee;
		this.saleFee = saleFee;
		this.orderFee = orderFee;
		this.orderStatus = orderStatus;
		this.payStatus = payStatus;
		this.deliveryStatus = deliveryStatus;
		this.orderDate = orderDate;
		this.shipDate = shipDate;
		this.invoiceFlag = invoiceFlag;
		this.invoiceTitle = invoiceTitle;
		this.validStatus = validStatus;
		this.removeStatus = removeStatus;
		this.createDate = createDate;
		this.updateDate = updateDate;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public Integer getAccountId() {
		return accountId;
	}

	public void setAccountId(Integer accountId) {
		this.accountId = accountId;
	}

	public String getAccountName() {
		return accountName;
	}

	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}

	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public BigDecimal getTotalGoodsFee() {
		return totalGoodsFee;
	}

	public void setTotalGoodsFee(BigDecimal totalGoodsFee) {
		this.totalGoodsFee = totalGoodsFee;
	}

	public BigDecimal getPostFee() {
		return postFee;
	}

	public void setPostFee(BigDecimal postFee) {
		this.postFee = postFee;
	}

	public BigDecimal getSaleFee() {
		return saleFee;
	}

	public void setSaleFee(BigDecimal saleFee) {
		this.saleFee = saleFee;
	}

	public BigDecimal getOrderFee() {
		return orderFee;
	}

	public void setOrderFee(BigDecimal orderFee) {
		this.orderFee = orderFee;
	}

	public String getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(String orderStatus) {
		this.orderStatus = orderStatus;
	}

	public String getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(String payStatus) {
		this.payStatus = payStatus;
	}

	public String getDeliveryStatus() {
		return deliveryStatus;
	}

	public void setDeliveryStatus(String deliveryStatus) {
		this.deliveryStatus = deliveryStatus;
	}

	public Date getOrderDate() {
		return orderDate;
	}

	public void setOrderDate(Date orderDate) {
		this.orderDate = orderDate;
	}

	public Date getShipDate() {
		return shipDate;
	}

	public void setShipDate(Date shipDate) {
		this.shipDate = shipDate;
	}

	public String getInvoiceFlag() {
		return invoiceFlag;
	}

	public void setInvoiceFlag(String invoiceFlag) {
		this.invoiceFlag = invoiceFlag;
	}

	public String getInvoiceTitle() {
		return invoiceTitle;
	}

	public void setInvoiceTitle(String invoiceTitle) {
		this.invoiceTitle = invoiceTitle;
	}

	public String getValidStatus() {
		return validStatus;
	}

	public void setValidStatus(String validStatus) {
		this.validStatus = validStatus;
	}

	public String getRemoveStatus() {
		return removeStatus;
	}

	public void setRemoveStatus(String removeStatus) {
		this.removeStatus = removeStatus;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getUpdateDate() {
		return updateDate;
	}

	public void setUpdateDate(Date updateDate) {
		this.updateDate = updateDate;
	}

	@Override
	public String toString() {
        return ReflectUtil.fieldsToString(this);
	}
}
